import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class StringTest_Two {
    /**
     * 如给定若干身份证号(放到一数组中)，抽取这些身份证号的出生年月日信息
     * 并按从小到大的顺序或者从大到小的顺序排列输出抽取出的出生年月日
     *
     * 1.给定若干身份证号，将其存入一个数组中
     * 2.遍历该数组，把出生年月信息提取出来并存入第二个数组
     * 3.对第二个数组进行排序
     *
     * @param id
     * @return
     */

    ArrayList container = new ArrayList();  //用于储存身份证信息
    ArrayList result = new ArrayList();     //用于储存出生年月信息

    /**
     * 从一个身份证号中提出出生年月日的信息
     */
    private String getBirthDate(String id) {
        String YYYY = id.substring(6, 10);
        String MM = id.substring(10, 12);
        String DD = id.substring(12,14);
        return YYYY + "-" + MM + "-" + DD;
    }

    /**
     * 给定若干身份证号，将其存入一个数组
     * n： 添加n个身份证号
     */
    private void Add(int n) {
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < n; i++) {
            container.add(scanner.next());
        }
    }

    /**
     * 遍历该数组，把出生年月信息提取出来并存入第二个数组
     */
    private void Get(ArrayList container, ArrayList result) {
        for (int i = 0; i < container.size(); i++) {
            String s = getBirthDate((String)container.get(i));
            result.add(s);
        }
        //整理顺序
        Collections.sort(result);
    }

    /**
     * 输出结果
     * @param result
     */
    private void Print(ArrayList result) {
        System.out.println(result);
    }

    /**
     * 主函数
     */
    public static void main(String[] args) {
        StringTest_Two test = new StringTest_Two();
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入一共要输入的身份证数量：");
        int n = scanner.nextInt();
        test.Add(n);
        test.Get(test.container, test.result);
        test.Print(test.result);
    }
}
